package com.ict.web.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ict.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
/**
 * @author xc
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class ProjectInfoVo {

    @TableId(value = "pro_id", type = IdType.INPUT)
    @ApiModelProperty(value = "项目id")
    private String proId;

    @ApiModelProperty(value = "项目名称")
    @Excel(name = "项目名称")
    private String proName;

    @ApiModelProperty(value = "项目性质 0:项目申报;1:增手工录入")
    @Excel(name = "项目性质")
    private String proNature;

    @ApiModelProperty(value = "项目类别 0:建设类;1:购买服务类;2:运维类;3:其他")
    @Excel(name = "项目类别")
    private String proType;

    @ApiModelProperty(value = "项目投资估算")
    @Excel(name = "项目投资估算(万元)")
    private String proInvestmentEstimation;

    @ApiModelProperty(value = "项目阶段 0:项目申报，1:方案申报 2:项目实施 3:项目验收")
    @Excel(name = "项目阶段")
    private String proStag;

    @ApiModelProperty(value = "项目节点 0:申报审核 1:方案申报 2:安排评审会议 3:在线预审 4:意见汇总 5:现场论证 6:三方审批 7:三方审批结果审核 8:发改/财政审批备案 9:合同备案 10:里程碑管理 11:初验备案 12:合规审查 13:终验备案 14:绩效考评")
    @Excel(name = "项目节点")
    private String proNode;

    @ApiModelProperty(value = "项目申报时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime proTime;

    @Excel(name = "项目申报时间")
    private String time;

    @NotBlank(message = "项目建设单位不能为空")
    @ApiModelProperty(value = "项目建设单位")
    @Excel(name = "项目建设单位")
    private String proCompany;

    @ApiModelProperty(value = "项目所属部门ID")
    private String proDeptId;

    @ApiModelProperty(value = "项目所属部门")
    @Excel(name = "项目所属部门")
    private String proDept;

    @ApiModelProperty(value = "项目所属科室ID")
    private String proSecnId;

    @ApiModelProperty(value = "项目所属科室")
    private String proSecn;

    @ApiModelProperty(value = "项目联系人")
    @Excel(name = "项目联系人")
    private String proRelationUser;

    @ApiModelProperty(value = "项目联系人电话")
    @Excel(name = "项目联系人电话")
    private String proRelationUserPhone;

    @ApiModelProperty(value = "项目状态 0：正常；1：失效")
    private String proState;

    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;


}
